﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _09_多播委托_有返回值
{

    public delegate int AddValue();
    public class Number
    {
        public int Value { get; set; }
        public Number(int value) { this.Value = value; }
        public int Add1() { return Value + 1; }
        public int Add2() { return Value + 2; }
        public int Add3() { return Value + 3; }
    }
    internal class Program
    {
        static void Main(string[] args)
        {
            Number number = new Number(1);

            AddValue addValue = new AddValue(number.Add1);
            addValue += new AddValue(number.Add2);
            addValue += new AddValue(number.Add3);
            Console.WriteLine("计算结果:{0}",addValue.Invoke());

            Console.ReadKey();
        }
    }
}
